package beans;


import javax.faces.context.FacesContext;
import javax.servlet.http.HttpSession;

import controller.LoginControlador;
import entidades.Usuario;
import utils.Constantes;
import validadores.LoginValidador;


public class LoginBean {
	
	public static String ID_USUARIO_LOGADO = "idusuariologado";

    private String usuarioLogado;
	
	private transient String usuario;
	private transient String senha;
	
	private transient String msgLogin;

    public LoginBean() {
    }

	
	public String acaoLogar() {
		LoginValidador loginValidador = new LoginValidador();
		
		if(!loginValidador.camposLoginValidos(usuario, senha)) {
			setMsgLogin(loginValidador.getMensagemDeValidacao());
			return "none";
		}
		else if(!loginValidador.camposLoginAutenticados(usuario, senha)) {
			setMsgLogin(loginValidador.getMensagemDeValidacao());
			return "none";
		}
		
		LoginControlador loginControlador = new LoginControlador(); 
		Usuario pesssoaLogada = loginControlador.getUsuario(usuario, senha);
		
		FacesContext contexto = FacesContext.getCurrentInstance();
		HttpSession sessao = (HttpSession)contexto.getExternalContext().getSession(true);
		
		sessao.setAttribute(Constantes.ID_USUARIO_LOGADO, pesssoaLogada.getId());

		setUsuarioLogado(usuario);
		return "loginSuccess";
	}
	
	
	public String getUsuario() {
		return usuario;
	}
	public void setUsuario(String usuario) {
		this.usuario = usuario;
	}
	public String getSenha() {
		return senha;
	}
	public void setSenha(String senha) {
		this.senha = senha;
	}


	public void setMsgLogin(String msgLogin) {
		this.msgLogin = msgLogin;
	}

	public String getMsgLogin() {
		String msgLoginTemp = msgLogin;
		this.msgLogin = "";
		return msgLoginTemp;
	}

    public String getUsuarioLogado() {
        return usuarioLogado;
    }

    public void setUsuarioLogado(String usuarioLogado) {
        this.usuarioLogado = usuarioLogado;
    }

}
